package com.example.controller;

import com.example.producer.TestMessageProducer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 投递消息到队列
 */
@Controller
public class TestController {

    /** 使用注解自动实例化消息生产者 */
    @Autowired
    private TestMessageProducer testMessageProducer;

    /** 使用注解定义路由，请求方法 */
    @RequestMapping(value = "/send", method = RequestMethod.GET)
    @ResponseBody /* 使用注解定义返回的数据就是响应，不渲染jsp */
    public String sendMessage() {
        // 使用生产者投递消息 这里其实可以不用这个生产者，可以使用rabbitTemplate.convertAndSend投递消息
        testMessageProducer.sendMessage("Hello, RabbitMQ!");
        return "Message sent!";
    }
}